home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / database / convr409.zip / CONVERT.DOC < prev    next >
Text File  |  1994-09-16  |  22KB  |  462 lines

  1. CONVERT.DOC
  2. 09/15/94
  3.  
  4. The CONVERT.EXE program converts data between several basic data formats.
  5. Features:
  6.  
  7.   * You can read data in from any of the following data formats:
  8.       ASCII-delimited
  9.       fixed field
  10.       dBase-compatible
  11.   * You can write data out in any of the following data formats:
  12.       ASCII-delimited
  13.       fixed field
  14.       dBase-compatible
  15.       WKS (Lotus 1-2-3 release 1 compatible)
  16.   * For ASCII-delimited files, you can specify the delimiters used between
  17.     fields as well as around numeric or character data
  18.   * For dBase input files, you can retain deleted records if you want
  19.   * You can resize variables or drop them entirely if desired
  20.   * You can specify up to 10 include filters; all records processed must meet
  21.     at least one of these filter conditions
  22.   * You can specify up to 10 exclude filters; any records which meet these
  23.     filter conditions are dropped
  24.   * For WKS output files, you can process input files bigger than Lotus
  25.     1-2-3 itself can handle (1-2-3 limits input records to being 240 characters
  26.     or less
  27.  
  28.  
  29. Program written by:
  30.                         Bruce Guthrie
  31.                         Room H-4885
  32.                         U.S. Dept of Commerce/ESA/OBA/BSISD
  33.                         Washington, D.C. 20230
  34.  
  35.                         (202) 482-3234
  36.  
  37. You may freely copy and re-distribute this program; however, the U.S.
  38. Department of Commerce neither guarantees nor assures compatibility of the
  39. program with all computer software or hardware.
  40.  
  41. Foreign users:  Please provide an Internet e-mail address in all correspondence
  42. or and just e-mail your problems to me at bgu@cu.nih.gov
  43.  
  44.  
  45.  
  46. Data format types:
  47.  
  48. An ASCII-delimited file is one which typically has double quotes around each
  49. character field (the quotes are optional in CONVERT) and typically commas
  50. between fields.  Leading and trailing spaces are removed from character as well
  51. as all other values.
  52.  
  53. A fixed-field file places each field in the same column positions on each
  54. record.  The lengths of the fields are the same from record to record.
  55.  
  56. As an example, these might be an ASCII-delimited records:
  57.  
  58.         "Economic Bulletin Board","202 482-3870",35
  59.         "EBB High-Speed","202 482-2584",100
  60.  
  61. Fixed-field file records might look like this for the same data:
  62.  
  63.         Economic Bulletin Board 202 482-3870  35
  64.         EBB High-Speed          202 482-2584 100
  65.  
  66. WKS files are supported directly by Lotus 1-2-3 (all versions) as well as most
  67. other spreadsheet programs.  DBF files are supported by dBaseIII, dBaseIII+,
  68. dBaseIV, and most other data base management programs (Paradox etc).
  69.  
  70.  
  71.  
  72. Field-definition file:
  73.  
  74. Unless you are reading a dBase file, this program requires a field-definition
  75. file to figure out the characteristics for each field and also to set certain
  76. file characteristics.  If you're processing an ASCII-delimited input file, the
  77. routine can try to create a field-definition file for you if desired.
  78.  
  79. The field-definition file can be created with any text editor.  The
  80. field-definition file consists of several records with the following fields
  81. separated by spaces.  Except for the record type indicator (which must begin in
  82. column 1), all other fields can be placed in any columns:
  83.  
  84.         (1) record type (see below)
  85.         (2) length of field on input
  86.         (3) number of decimal places for numeric data (if you don't know,
  87.             put a "?" here; for non-numeric data, a "0" is fine) on output
  88.         (4) length of field on output
  89.  
  90. Any characters after the field length are treated as comment fields.  You would
  91. typically use this to enter the field name or column position or any other
  92. information of use to you.
  93.  
  94. The data record types accepted by this routine are as follows:
  95.  
  96.         type C = character data
  97.              N = numeric
  98.              L = logical (T or F)
  99.              D = date (in yyyymmdd format)
  100.  
  101. The data fields should be in the order the fields are found in the source file.
  102.  
  103. You may also specify up to 10 include filters and up to 10 exclude filters in
  104. the field-definition file.  If an include filter is specified, the input record
  105. must contain at least one of the specified character strings in order to be
  106. processed.  If an exclude filter is specified, any input record which contains
  107. any of the specified character strings will be ignored.  Filters are case
  108. sensitive (capitalization matters) and processed as "or" items (if any filter is
  109. met, the condition is met; filters are not combined to determine fulfillment).
  110. The filters are specified in the field-definition file in the following ways:
  111.  
  112.         /+=string     include filter, the string "string" can appear anywhere
  113.         /S+=string    include filter, the string "string" is at the beginning
  114.                       of the record
  115.         /+S=string    include filter, the string "string" is at the end of the
  116.                       record
  117.         /-=string     exclude filter, the string "string" can appear anywhere
  118.         /S-=string    exclude filter, the string "string" is at the beginning
  119.                       of the record
  120.         /-S=string    exclude filter, the string "string" is at the end of the
  121.                       record
  122.  
  123.  
  124. For example, if you want to specify in your control file that you only want
  125. records that contain either "Japan" or "France" *and* you want to exclude any
  126. records that begin with an underscore character, you would need to include the
  127. following three filter statements:
  128.  
  129.         /+=Japan
  130.         /+=France
  131.         /S-=_
  132.  
  133. The character string can include hexadecimal codes (in the &Hxx format) or
  134. decimal codes (in the \ddd format) if necessary.
  135.  
  136. Note that for fixed field files, you have to account for every byte in the file.
  137. If you have something like this:
  138.  
  139.         12345678_1_2345678_2_2345678_3      (column positions)
  140.         APPLE    X Y    12 BANANAS
  141.  
  142. Even though you may think you only have five fields, the following .DEF file
  143. will NOT work:
  144.  
  145.         ; Bad .DEF file:  Note does not account for blank spaces
  146.         C   8 0   8 Fruit1
  147.         C   1 0   1 Class1
  148.         C   1 0   1 Class2
  149.         N   5 0   5 Value
  150.         C  11 0  11 Fruit2
  151.  
  152. You may want the Fruit1 field to be in columns 1 through 8 and Class1 to be in
  153. column 10 but the routine will not know to skip column 9 so it will start
  154. reading Class1 beginning in column 9, Class2 beginning in column 10, etc.  To
  155. drop the blank positions, you have to add dummy fields on input and ask for them
  156. to be dropped on output:
  157.  
  158.         ; Good .DEF file:  Spaces between fields are accounted for
  159.         C   8 0   8 Fruit1
  160.         C   1 0   0 Filler
  161.         C   1 0   1 Class1
  162.         C   1 0   0 Filler
  163.         C   1 0   1 Class2
  164.         C   1 0   0 Filler
  165.         N   5 0   5 Value
  166.         C   1 0   0 Filler
  167.         C  11 0  11 Fruit2
  168.  
  169. You can also use the input field length and output field lengths to either drop
  170. fields using other formats (by specifying a zero length for the output field
  171. length) or for creating fields on output (by specifying a zero length for the
  172. input field length).  You can also use this to expand on contract a field.  For
  173. example, if Fruit1 is 8 characters long but you only want it to occupy 4
  174. characters on output (thus the field would be truncated), specify 8 for the
  175. input field length and 4 for the output field length.
  176.  
  177. You can have the routine create the field-definition file it's using for dBase
  178. and ASCII-delimited files.  This is controlled by the /OUTDEF=deffile and
  179. /-OUTDEF parameters.
  180.  
  181.  
  182. The CONVERT.INI file:
  183.  
  184. CONVERT will read a CONVERT.INI file if one is found.  (You can specify a
  185. different file name if desired.) The file is an ASCII text file that can be
  186. created maintained by hand.  The file can consist or one or more command line
  187. parameters (only those that begin with a "/"), one statement per line.
  188.  
  189. The file can also contain comments which are blank lines or any line beginning
  190. with:
  191.         ;    (semi-colon)
  192.         :    (colon)
  193.         '    (quote)
  194.  
  195. CONVERT looks for the initialization file in your default subdirectory first.
  196. It then searches for it in the subdirectory where the executable was and then
  197. goes through your DOS path.
  198.  
  199. Passing in "/-I" or "/INULL" skips loading the CONVERT.INI file.
  200.  
  201.  
  202. CONFIGWS.EXE:
  203.  
  204. In addition to using the CONVERT.INI file, you can permanently change some
  205. defaults within CONVERT.EXE by using the CONFIGWS.EXE program.  CONFIGWS.EXE is
  206. not included in the CONVERT distribution package but previous versions can
  207. typically be used with CONVERT if desired.  (The same CONFIGWS.EXE program can
  208. be used to path a number of Wayne Software programs.) If CONFIGWS can't patch
  209. the executable, it will notify you of this before altering anything.
  210.  
  211. CONFIGWS.EXE allows you to set the following defaults:
  212.  
  213.         Output format:  /TO FIXED, /TO ASCII, /TO WKS, or /TO DBF
  214.         If bad data:    /SKIP, /MISSING, or /ABORT
  215.         Noise:          /BEEP or /-BEEP
  216.         Output exists:  /OVERASK, /OVERWRITE, /-OVERWRITE, /APPEND
  217.  
  218. When setting options, the program will process defaults in the following order:
  219.   (1) CONFIGWS.EXE-settable settings
  220.   (2) CONVERT.INI settings
  221.   (3) command-line settings
  222.  
  223. The *last* settings encountered win.
  224.  
  225.  
  226.  
  227. Syntax:
  228.  
  229.     CONVERT infile [ outfile [ deffile ] ]
  230.       [ /INDEF=deffile | /-INDEF ] [ /OUTDEF=deffile | /-OUTDEF ]
  231.       [ /OVERWRITE | /-OVERWRITE | /APPEND | /OVERASK ] [ /Iinitfile | /-I ]
  232.       [ /FROM FIXED | /FROM ASCII | /FROM DBF ] [ /DELETED | /-DELETED ]
  233.       [ /TO FIXED | /TO ASCII | /TO WKS | /TO DBF ] [ /HEADER | /-HEADER ]
  234.       [ /DELIMS=aroundstrings,aroundnums,betweenfields ] [ /BEEP | /-BEEP ]
  235.       [ /INMISS=val ] [ /INMISSC=val ] [ /OUTMISS=val ] [ /OUTMISSC=val ]
  236.       [ /SKIP | /MISSING | /ABORT ] [ /NULLS | /-NULLS ] [ /Q ] [ /? | /?&H ]
  237.  
  238. "infile" is the file specification for the ASCII-delimited or fixed-field file
  239. you want converted.  You can specify a drive and path specification if
  240. necessary.  This parameter is required.
  241.  
  242. "outfile" is the file specification of the file you want to create.  You can
  243. specify a drive and path specification if necessary.  If no outfile is provided,
  244. the routine will presume you want the output file called the same thing as the
  245. infile but you want the extension to be ".FIX" (if the output file is a
  246. fixed-field file), ".PRN" (if the output file is ASCII-delimited), or ".WKS" (if
  247. the output file is to be in a WKS format).
  248.  
  249. "deffile" is the file specification for the input field-definition file.  You
  250. can specify a drive and path specification if necessary.  If no deffile is
  251. specifically provided, the routine will presume it is called the same thing as
  252. the infile but it has the extension of ".DEF".  Note that the deffile can only
  253. be provided if you also specify the outfile name.
  254.  
  255. "/INDEF=deffile" provides the name of the field-definition file to be read by
  256. the program.  If no deffile is specifically provided and you're using FROM
  257. ASCII, the routine will presume the field-definition file exists and is named
  258. the same thing as the infile but it has the extension of ".DEF".  A deffile has
  259. to be specifically provided for FROM FIXED files if one is desired.
  260.  
  261. "/-INDEF" says there is no field-definition file.  This is the default if you're
  262. using FROM DBF or FROM FIXED.
  263.  
  264. "/OUTDEF=deffile" provides the name of the output file that you want the program
  265. to write the field-definition file to.  This is useful in cases where you did
  266. *not* use a field-definition file on input since it allows you to see and
  267. possibly modify the field-definition file for next time.  If no deffile is
  268. provided and you're using FROM DBF, the routine will presume the
  269. field-definition file is named the same thing as the infile but it has an
  270. extension of ".DEF".
  271.  
  272. "/-OUTDEF" says to skip the creation of the field-definition file.  This is the
  273. default for ASCII-delimited and fixed-field files.
  274.  
  275.  
  276. "/OVERWRITE" says to overwrite the output file if it exists already.
  277.  
  278. "/-OVERWRITE" says to abort if the output file exists already.
  279.  
  280. "/APPEND" says to append (add) to the output file if it exists already.  This
  281. option is only available if you're creating either a fixed-field or ASCII-
  282. delimited output file.
  283.  
  284. "/OVERASK" says to ask if the output file exists already.  This is initially
  285. the default.
  286.  
  287. "/Iinitfile" says to read an initialization file with the file name "initfile".
  288. The file specification *must* contain a period.  If no drive or path information
  289. is specified, the program will search for initfile beginning in your default
  290. subdirectory and then going throughout your DOS path.  The use of an
  291. initialization file is optional.  Initially defaults to "/ICONVERT.INI".
  292.  
  293. "/-I" (or "/INULL") says to skip loading the CONVERT.INI initialization file.
  294.  
  295. "/FROM FIXED", "/FROM ASCII", and "/FROM DBF" specifies the format for the input
  296. file.  The routine will typically read the file and guess its format for you.
  297. You can also specify a default by using the CONFIGWS.EXE program.
  298.  
  299. "/DELETED" applies to dBase input files only.  It says you want to retain
  300. records tagged as "deleted".  Otherwise, they're dropped in the output file.
  301.  
  302. "/-DELETED" applies to dBase input files only.  It says to drop records tagged
  303. as "deleted".  This is initially the default.
  304.  
  305. "/TO FIXED", "/TO ASCII", "/TO WKS", and "/TO DBF" tells the routine what sort
  306. of output file you'd like to create.  Initially defaults to "/TO WKS".
  307.  
  308. "/HEADER" is used in conjunction with WKS output files.  If /HEADER is in
  309. effect, the first row of the spreadsheet will contain the variable name for the
  310. cell as provided in your control file.  If none are provided, the field names
  311. will be FIELD_01 onward.  /-HEADER turns this off and is the default.  Note that
  312. the header line (if any) will show up in the output counts.
  313.  
  314. "/DELIMS=aroundstrings,aroundnums,betweenfields" allows you to specify the
  315. delimiters (in sequence) around string fields, around numeric fields, and
  316. between fields.  Defaults to:
  317.  
  318.         /DELIMS=",,,
  319.  
  320. (Use quotes around character strings, nothing around numeric data, and the third
  321. comma indicates that there is a comma between fields.) The replacement string
  322. can include hexadecimal codes (in the &Hxx format) or decimal codes (in the \ddd
  323. format) if necessary so either of the following would put a tab between fields:
  324.  
  325.         /DELIMS=",,&H09
  326.         /DELIMS=",,\009
  327.  
  328. See the table of hexadecimal and decimal codes at the end of this documentation.
  329.  
  330.  
  331. "/BEEP" beeps when the program is finished.
  332.  
  333. "/-BEEP" reverses /BEEP.  Initially the default.
  334.  
  335. "/INMISS=val" specifies that any numeric value that has the character string
  336. representation of "val" will be considered missing.  Note that this is an exact
  337. character string comparison so /INMISS=1 will not compare to a value of "1.00".
  338. Defaults to /INMISS=NULL (which translates as spaces).
  339.  
  340. "/INMISSC=val" specifies that any character string value that has the value of
  341. "val" will be considered missing.  Defaults to /INMISSC=NULL (which translates
  342. as spaces).
  343.  
  344. "/OUTMISS=val" specifies that any missing numeric input value will be translated
  345. on output as "val".  For example, "/OUTMISS=N.A." would fill in "N.A." for each
  346. missing value.  Defaults to /OUTMISS=NULL (which translates as spaces).
  347.  
  348. "/OUTMISSC=val" specifies that any missing character input value will be
  349. translated on output as "val".  Defaults to /OUTMISSC=NULL (which translates as
  350. spaces).
  351.  
  352. "/SKIP" says to skip records with bad data values; otherwise the routine
  353. aborts when it runs into any.  /SKIP, /MISSING, and /ABORT are mutually
  354. exclusive.
  355.  
  356. "/MISSING" says to presume any missing fields in an ASCII-delimited record
  357. should be filled in with blanks (for character fields) and 0 for numeric fields.
  358. Incomplete records are written out (unlike in /SKIP).  /SKIP, /MISSING, and
  359. /ABORT are mutually exclusive.  Note that the program will only print out the
  360. first "bad" record.  There may be others that show up after this one.
  361.  
  362. "/ABORT" says to abort when you run into bad records.  Initially the default.
  363. /SKIP, /MISSING, and /ABORT are mutually exclusive.
  364.  
  365. "/NULLS" allows fields that begin with decimal 0 to be left in the output file
  366. as valid values.  Otherwise, they're treated as being missing.  /NULLS is
  367. initially the default.
  368.  
  369. "/-NULLS" translates any field which begins with the decimal 0 value as
  370. missing.  For character fields, it's translated to the value of INMISSC, numeric
  371. fields are switched to the INMISS value.  /NULLS is initially the default.
  372.  
  373. "/Q" turns off the line-by-line status report.
  374.  
  375. "/?" or "/HELP" or "HELP" shows you the syntax for the command.
  376.  
  377. "/?&H" gives you a hexadecimal and decimal conversion table.
  378.  
  379.  
  380.  
  381. Return codes:
  382.  
  383. CONVERT returns the following ERRORLEVEL codes:
  384.         0 = no problems, file converted
  385.       254 = problems for formats of data
  386.       255 = syntax problems, file(s) not found, or /? requested
  387.  
  388.  
  389. Restrictions and Caveats:
  390.  
  391. The program cannot handle dBase files with Memo fields.
  392.  
  393. Most spreadsheet programs restrict a given field length to being 240 characters
  394. or less.
  395.  
  396. Date fields which are in the form "yy-mm-dd" (instead of "yyyymmdd") should be
  397. declared as character fields instead of date fields.
  398.  
  399. Date fields converted for WKS files are changed into strings of the "yy-mm-dd"
  400. format.
  401.  
  402.  
  403.  
  404. Decimal and hexadecimal codes:
  405.   e.g. "\066\097\116" and "&H426174" both are "Bat"
  406. +---------------------------------------------------------------------------
  407. | dec  hex chr | dec  hex chr | dec  hex chr | dec  hex chr | dec  hex chr |
  408. +--------------+--------------+--------------+--------------+--------------+
  409. | \000 &H00 nul| \052 &H34 4  | \104 &H68 h  | \156 &H9C £  | \208 &HD0 ╨  |
  410. | \001 &H01   | \053 &H35 5  | \105 &H69 i  | \157 &H9D ¥  | \209 &HD1 ╤  |
  411. | \002 &H02   | \054 &H36 6  | \106 &H6A j  | \158 &H9E ₧  | \210 &HD2 ╥  |
  412. | \003 &H03   | \055 &H37 7  | \107 &H6B k  | \159 &H9F ƒ  | \211 &HD3 ╙  |
  413. | \004 &H04   | \056 &H38 8  | \108 &H6C l  | \160 &HA0 á  | \212 &HD4 ╘  |
  414. | \005 &H05   | \057 &H39 9  | \109 &H6D m  | \161 &HA1 í  | \213 &HD5 ╒  |
  415. | \006 &H06   | \058 &H3A :  | \110 &H6E n  | \162 &HA2 ó  | \214 &HD6 ╓  |
  416. | \007 &H07 bel| \059 &H3B ;  | \111 &H6F o  | \163 &HA3 ú  | \215 &HD7 ╫  |
  417. | \008 &H08 bs | \060 &H3C <  | \112 &H70 p  | \164 &HA4 ñ  | \216 &HD8 ╪  |
  418. | \009 &H09 tab| \061 &H3D =  | \113 &H71 q  | \165 &HA5 Ñ  | \217 &HD9 ┘  |
  419. | \010 &H0A lf | \062 &H3E >  | \114 &H72 r  | \166 &HA6 ª  | \218 &HDA ┌  |
  420. | \011 &H0B vt | \063 &H3F ?  | \115 &H73 s  | \167 &HA7 º  | \219 &HDB █  |
  421. | \012 &H0C pg | \064 &H40 @  | \116 &H74 t  | \168 &HA8 ¿  | \220 &HDC ▄  |
  422. | \013 &H0D cr | \065 &H41 A  | \117 &H75 u  | \169 &HA9 ⌐  | \221 &HDD ▌  |
  423. | \014 &H0E   | \066 &H42 B  | \118 &H76 v  | \170 &HAA ¬  | \222 &HDE ▐  |
  424. | \015 &H0F   | \067 &H43 C  | \119 &H77 w  | \171 &HAB ½  | \223 &HDF ▀  |
  425. | \016 &H10   | \068 &H44 D  | \120 &H78 x  | \172 &HAC ¼  | \224 &HE0 α  |
  426. | \017 &H11   | \069 &H45 E  | \121 &H79 y  | \173 &HAD ¡  | \225 &HE1 ß  |
  427. | \018 &H12   | \070 &H46 F  | \122 &H7A z  | \174 &HAE «  | \226 &HE2 Γ  |
  428. | \019 &H13   | \071 &H47 G  | \123 &H7B {  | \175 &HAF »  | \227 &HE3 π  |
  429. | \020 &H14   | \072 &H48 H  | \124 &H7C |  | \176 &HB0 ░  | \228 &HE4 Σ  |
  430. | \021 &H15   | \073 &H49 I  | \125 &H7D }  | \177 &HB1 ▒  | \229 &HE5 σ  |
  431. | \022 &H16   | \074 &H4A J  | \126 &H7E ~  | \178 &HB2 ▓  | \230 &HE6 µ  |
  432. | \023 &H17   | \075 &H4B K  | \127 &H7F   | \179 &HB3 │  | \231 &HE7 τ  |
  433. | \024 &H18   | \076 &H4C L  | \128 &H80 Ç  | \180 &HB4 ┤  | \232 &HE8 Φ  |
  434. | \025 &H19   | \077 &H4D M  | \129 &H81 ü  | \181 &HB5 ╡  | \233 &HE9 Θ  |
  435. | \026 &H1A eof| \078 &H4E N  | \130 &H82 é  | \182 &HB6 ╢  | \234 &HEA Ω  |
  436. | \027 &H1B esc| \079 &H4F O  | \131 &H83 â  | \183 &HB7 ╖  | \235 &HEB δ  |
  437. | \028 &H1C   | \080 &H50 P  | \132 &H84 ä  | \184 &HB8 ╕  | \236 &HEC ∞  |
  438. | \029 &H1D ???| \081 &H51 Q  | \133 &H85 à  | \185 &HB9 ╣  | \237 &HED φ  |
  439. | \030 &H1E ???| \082 &H52 R  | \134 &H86 å  | \186 &HBA ║  | \238 &HEE ε  |
  440. | \031 &H1F ???| \083 &H53 S  | \135 &H87 ç  | \187 &HBB ╗  | \239 &HEF ∩  |
  441. | \032 &H20    | \084 &H54 T  | \136 &H88 ê  | \188 &HBC ╝  | \240 &HF0 ≡  |
  442. | \033 &H21 !  | \085 &H55 U  | \137 &H89 ë  | \189 &HBD ╜  | \241 &HF1 ±  |
  443. | \034 &H22 "  | \086 &H56 V  | \138 &H8A è  | \190 &HBE ╛  | \242 &HF2 ≥  |
  444. | \035 &H23 #  | \087 &H57 W  | \139 &H8B ï  | \191 &HBF ┐  | \243 &HF3 ≤  |
  445. | \036 &H24 $  | \088 &H58 X  | \140 &H8C î  | \192 &HC0 └  | \244 &HF4 ⌠  |
  446. | \037 &H25 %  | \089 &H59 Y  | \141 &H8D ì  | \193 &HC1 ┴  | \245 &HF5 ⌡  |
  447. | \038 &H26 &  | \090 &H5A Z  | \142 &H8E Ä  | \194 &HC2 ┬  | \246 &HF6 ÷  |
  448. | \039 &H27 '  | \091 &H5B [  | \143 &H8F Å  | \195 &HC3 ├  | \247 &HF7 ≈  |
  449. | \040 &H28 (  | \092 &H5C \  | \144 &H90 É  | \196 &HC4 ─  | \248 &HF8 °  |
  450. | \041 &H29 )  | \093 &H5D ]  | \145 &H91 æ  | \197 &HC5 ┼  | \249 &HF9 ∙  |
  451. | \042 &H2A *  | \094 &H5E ^  | \146 &H92 Æ  | \198 &HC6 ╞  | \250 &HFA ·  |
  452. | \043 &H2B +  | \095 &H5F _  | \147 &H93 ô  | \199 &HC7 ╟  | \251 &HFB √  |
  453. | \044 &H2C ,  | \096 &H60 `  | \148 &H94 ö  | \200 &HC8 ╚  | \252 &HFC ⁿ  |
  454. | \045 &H2D -  | \097 &H61 a  | \149 &H95 ò  | \201 &HC9 ╔  | \253 &HFD ²  |
  455. | \046 &H2E .  | \098 &H62 b  | \150 &H96 û  | \202 &HCA ╩  | \254 &HFE ■  |
  456. | \047 &H2F /  | \099 &H63 c  | \151 &H97 ù  | \203 &HCB ╦  | \255 &HFF    |
  457. | \048 &H30 0  | \100 &H64 d  | \152 &H98 ÿ  | \204 &HCC ╠  |              |
  458. | \049 &H31 1  | \101 &H65 e  | \153 &H99 Ö  | \205 &HCD ═  |              |
  459. | \050 &H32 2  | \102 &H66 f  | \154 &H9A Ü  | \206 &HCE ╬  |              |
  460. | \051 &H33 3  | \103 &H67 g  | \155 &H9B ¢  | \207 &HCF ╧  |              |
  461. +--------------+--------------+--------------+--------------+--------------+
  462.